/*
    十字链表，是用来表示有向图的，边和顶点分别用结构体存储
    用此种方式，容易找到以节点i的为尾的弧，也容易找到为头的弧
*/

//弧节点
typedef struct __ARCH_NODE__
{
    int tailVertex;//箭头尾部的节点
    int headVertex;//指向的节点
    //对应的两个指针，他们都是指向下一条边的
    struct __ARCH_NODE__ *hlink;//弧头相同的下一个边
    struct __ARCH_NODE__ *tlink;
    int info;//边信息
}ArchNode;

typedef struct __VNODE__{   
    int data;
    ArchNode *firstIn;//第一个入边
    ArchNode *firstOut;//第一个出边
}Vertex;
//cross table
struct Graph_CT
{   
    int vertexNum;
    int edgeNum;
    Vertex vertexs[];//保存所有顶点
};



